package com.jzo2o.customer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.common.model.PageResult;
import com.jzo2o.customer.model.domain.WorkerCertificationAudit;
import com.jzo2o.customer.model.dto.request.WorkerCertificationAuditPageQueryReqDTO;
import com.jzo2o.customer.model.dto.response.RejectReasonResDTO;
import com.jzo2o.customer.model.dto.response.WorkerCertificationAuditResDTO;

/**
 * 服务人员认证审核 服务类
 */
public interface IWorkerCertificationAuditService extends IService<WorkerCertificationAudit> {

    /**
     * 服务人员 - 查询最新驳回原因
     * @return 驳回原因
     */
    RejectReasonResDTO getLatestRejectReason();

    /**
     * 运营端 - 审核服务人员认证-分页查询
     * @param workerCertificationAuditPageQueryReqDTO 查询参数
     * @return 服务人员认证审核列表
     */
    PageResult<WorkerCertificationAuditResDTO> queryPage(WorkerCertificationAuditPageQueryReqDTO workerCertificationAuditPageQueryReqDTO);

    /**
     * 运营端 - 审核服务人员认证信息
     * @param id                  认证记录id
     * @param certificationStatus 认证状态
     * @param rejectReason        拒绝原因
     */
    void audit(Long id, Integer certificationStatus, String rejectReason);
}
